home *** CD-ROM | disk | FTP | other *** search
- //-------------------------------------------------------------------
- //
- // This code is copyright 2001 by G5 Software.
- // Any unauthorized usage, either in part or in whole of this code
- // is strictly prohibited. Violators WILL be prosecuted to the
- // maximum extent allowed by law.
- //
- //-------------------------------------------------------------------
-
- class CGermanAJeepMesh
- {
- string MeshFile = "Models/G_AJeep.mesh";
- string SkinFile = "Models/G_AJeep.skin";
- string AnimFile = "Models/G_AJeep.anim";
- }
-
- class CGermanAJeepStateControl extends CMobileGroundUnitStateControl
- {
- void CGermanAJeepStateControl()
- {
- CMobileGroundUnitStateControl(500.0);
- m_DestroyPause = 7.5;
- m_ExplosionId = "EXPLID_GermanAJeepExplosion";
- }
- }
-
- class CGermanAJeepTargetingAnimator
- {
- string HorAnimName = "tower";
- string VerAnimName = "gun";
-
- float LeftEndAngle = -180.0;
- float RightEndAngle = 180.0;
- float TopEndAngle = -4.0;
- float BottomEndAngle = 41.0;
-
- float MaxAngleSpeed = 180.0;
- }
-
- class CGermanAJeepGun extends CBaseWeaponDescriptor
- {
- int AmmoQuantity = -1;
- float BulletSpeed = 600.0;
- float FireDeviation = 0.015;
- string BulletPatternId = "BULLETID_GermanAJeepGunBullet";
- string LinkJointName = "";
- string EffectOnFire = "EFFECTID_AJeepGunFireEffect";
- string SoundOnFire = "SOUNDID_AJeepGunFireSound";
-
- string WeaponName = "Gun";
- float FireWeaponDelay = 0.1;
- bool IsAutotargeting = false;
- int AttachSlotNumber = 1;
- }
-
- class CGermanAJeepBehavior extends
- CBaseBehavior,
- CGermanAJeepMoveParameters,
- CGermanAJeepFireParameters,
- CGermanAJeepRadarParameters
- {
- void CGermanAJeepBehavior()
- {
- CBaseBehavior();
- }
- }
-
- class CGermanAJeepMoveParameters
- {
- boolean CanMove = true;
-
- float MaxSpeed = 25; // m/s
- float MaxAngleSpeed = 8; // rad/s
- float MaxAccelleration = 25; // m/(s*s)
- float MaxAngleAccelleration = 25; // rad/(s*s)
-
- float MoveBank = -.03; //#TMP:
- float RotationBank = .006; //#TMP:
- }
-
- class CGermanAJeepFireParameters
- {
- boolean CanFire = true;
-
- int FirePeriod = 200; // ms
- int FirePeriodRandAdd = 100; // ms
- int ShootGunNum = 1;
-
- boolean BurstFire = true;
- int BurstTime = 2000; // ms
- int BurstTimeRandAdd = 1000; // ms
-
- int BurstDelay = 1000; // ms
- int BurstDelayRandAdd = 2000; // ms
- };
-
- class CGermanAJeepRadarParameters
- {
- boolean HasRadar = true;
-
- float MaxRadarDistance = 1000; // m
- float MinRadarDistance = 5; // m
-
- int UpdateRadarPeriod = 2000; // ms
- int UpdateRadarPeriodRandAdd = 1000; // ms
-
- boolean FireFlying = true;
- boolean FireGround = true;
- };
-
- class CGermanAJeep extends
- CGroundUnit,
- CArmedUnit,
- CUnitWithSound,
- CUnitWithCamera,
- CUnitWithStateControl,
- CUnitWithBehavior
- {
- void CGermanAJeep()
- {
- InitializeModelAsAnimated("CGermanAJeepMesh");
- CUnitWithStateControl("CGermanAJeepStateControl");
- InitializeSound("CGermanJeepEngineSound");
-
- CreateAnimatedWeapon("Gun", "CGermanAJeepGun", "CGermanAJeepTargetingAnimator");
-
- InitializeVehicleBehavior("CGermanAJeepBehavior");
-
- Core_AddClassificator("German");
- Core_AddClassificator("AJeep"); // for cockpit identification
- Core_AddClassificator("GroundUnit"); // for behavior fire logic
- }
- }
-
-